<?php
namespace Api\Controller;
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

use Gy_Library\CusSession;
use Gy_Library\RestController;

/**
 * Description of LoginController
 *
 * @author hardy
 */
class StudentController extends RestController {
    use DataMachiningController;
    protected $_noAuthorization = ['create'];

    /*说明开始
    method:get

    version:
    parameter:
        return: 
        data.return  学生信息
    description: 学生信息
    说明结束*/
    public function gets(){
        $user_id = $this->getSessionId();
        $data = D('Student')->getOneStudentDataApi($user_id);
        $this->setSuccessMessageOneData($data);
    }
    /*说明开始
    method:post
    version:
    parameter:
        必选 字段 介绍
            name  姓名
            gender 性别    值为1或者2，男为1 女为2
            grade 年级
            stu_num   学号
            tel   手机号
            email    邮箱
            is_agree     等于1或0，只有等于1才能算通过
        return:
        status 状态码 1 成功 0 失败
        data 学生信息
        info  提示信息
    description: 上传学生信息
    说明结束*/
    public function create(){
        $data = I('post.');
        if(!(isset($data['is_agree'])) || $data['is_agree'] != 1){
            $this->setFailMessage('请阅读并同意用户协议');
        }
        $data['openid'] = CusSession::get('openid');
        $model = D('Student');
        $user_id = $this->createInsertDB($model, $data);
        $user = D('Student')->getOne($user_id);
        CusSession::set(C("AUTH_ID"), $user);
        $user = D('Student')->getOneStudentDataApi($user_id);
        $this->setSuccessMessageOneData($user);
    }

    /*说明开始
    method:put
    version:
     必填   KEY NAME    VALUE介绍 :
            name        姓名
            gender      性别    值为1或者2，男为1 女为2
            grade       年级
            stu_num     学号
            tel         手机号
            email       邮箱
            avatar      学生头像
        return:
        status 状态码 1 成功 0 失败
        data 修改后的学生信息
        info  提示信息
    description: 编辑学生信息
    说明结束*/
    public function update(){
        $user_id = $this->getSessionId();
        $ent['id'] = $user_id;
        $this->changeDataSave($ent);
    }

    /**
     * 更改时不需要的key
     * @return array
     */
    public function getUnwantedKey(){
        return ['id', 'audit', 'duration', 'teacher_id', 'finish_test'];
    }
}
